<div class="container">
    <!-- <div data-google-ad=""/> -->

    <h1>Custom plugin filters</h1>
    <p>As you surely know by now, the Eclipse Checkstyle Plug-in sports filters to exclude files from the checks.<br/>
        These filters are available on the plug-ins project properties page.</p>
    <p><img src="images/properties_simple_checked.png" alt="Checkstyle project properties"/>
        <br/> If filters are activated for a project they exclude certain files of the project from the checks based on
        their specific implementation.</p>
    <p>Many useful filters are <a href="#!/filters">already coming</a> with the plug-in distribution.<br/> However you
        may need to implement other filters that are very specific to your environment.</p>
    <p>To enable you to write your own filters the plug-in defines an extension point for filters
            <code>net.sf.eclipsecs.core.filters</code>. <br/>
        <br/>
    </p>
    <p>Example:</p>
    <p>Using the <code>net.sf.eclipsecs.core.filters</code> extension point in your <code>plugin.xml</code></p>
    <pre><code>
&lt;extension
    id="checkstyle.CheckstyleFilters"
    point="net.sf.eclipsecs.core.filters"&gt;
    &lt;filter
        name="Sample Filter"
        internal-name="SampleFilter"
        description="Sample Filter"
        class="net.sf.eclipsecs.sample.filter.SampleFilter"/&gt;
&lt;/extension&gt;
        </code></pre>
    <p>The filter implementation class must implement the
            <code>net.sf.eclipsecs.core.projectconfig.filters.IFilter</code> interface.<br/> To make life a bit easier
        for you there is the <code>net.sf.eclipsecs.core.projectconfig.filters.AbstractFilter</code> class which
        implements already most of the filter interface.</p>
    <p>For implementation samples check out the sample extension project <code>net.sf.eclipsecs.sample</code> have a
        look at the existing filter implementations in the <code>net.sf.eclipsecs.core</code> plugin or have a look at
        the existing filter implementations in the <code>net.sf.eclipsecs.core</code> plugin.</p>
</div>
